<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Voro++: voro::voronoicell_neighbor Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Voro++
   
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript" src="dynsections.js"></script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><b>voro</b>      </li>
      <li class="navelem"><a class="el" href="classvoro_1_1voronoicell__neighbor.html">voronoicell_neighbor</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Data Fields</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<div class="title">voro::voronoicell_neighbor Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="voro::voronoicell_neighbor" --><!-- doxytag: inherits="voro::voronoicell_base" -->
<p>Extension of the <a class="el" href="classvoro_1_1voronoicell__base.html" title="A class representing a single Voronoi cell.">voronoicell_base</a> class to represent a Voronoi cell with neighbor information.  
 <a href="classvoro_1_1voronoicell__neighbor.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="cell_8hh_source.html">cell.hh</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for voro::voronoicell_neighbor:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
 <div class="center">
  <img src="classvoro_1_1voronoicell__neighbor.png" usemap="#voro::voronoicell_neighbor_map" alt=""/>
  <map id="voro::voronoicell_neighbor_map" name="voro::voronoicell_neighbor_map">
<area href="classvoro_1_1voronoicell__base.html" title="A class representing a single Voronoi cell." alt="voro::voronoicell_base" shape="rect" coords="0,0,164,24"/>
</map>
 </div></div>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__neighbor.html#a4fdf7a7b46bb5b8e6c9613308ad399c0">voronoicell_neighbor</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__neighbor.html#a196e44ab9b3caf7d5862fa47ee3341fe">~voronoicell_neighbor</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__neighbor.html#ac6036ae44845e301da1e3656e0e98403">operator=</a> (<a class="el" href="classvoro_1_1voronoicell.html">voronoicell</a> &amp;c)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__neighbor.html#a0754fe4a44916b68bf3cda3d129b3a69">operator=</a> (<a class="el" href="classvoro_1_1voronoicell__neighbor.html">voronoicell_neighbor</a> &amp;c)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__neighbor.html#a1f0d64e7c42503ada9204cfaeb61027f">nplane</a> (double x, double y, double z, double rsq, int p_id)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__neighbor.html#a29264507d9f65efdb2bde573d48aa0c3">nplane</a> (double x, double y, double z, int p_id)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__neighbor.html#ab71c4487bbca2d20b00e9af2fc6d1ed0">plane</a> (double x, double y, double z, double rsq)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__neighbor.html#a8bac2d46226b8dbb88ad3e3d58d10cf7">plane</a> (double x, double y, double z)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__neighbor.html#ac20bf4f827fd1fc20c1596a8cec95fa3">init</a> (double xmin, double xmax, double ymin, double ymax, double zmin, double zmax)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__neighbor.html#a3648ccb2b3bdf7832779ea7d311d129c">init_octahedron</a> (double l)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__neighbor.html#a71f908538fa59e4a1ab1d44834f1f3f9">init_tetrahedron</a> (double x0, double y0, double z0, double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__neighbor.html#aa3d80872ecb0dbccbc951082428c13c1">check_facets</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__neighbor.html#a1583bda821b719b59a49a5a31d708497">neighbors</a> (vector&lt; int &gt; &amp;v)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__neighbor.html#a868581daaec73455618629e668c92d38">print_edges_neighbors</a> (int i)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__neighbor.html#a2b212f8abaf92200e8ee4b5eee0e60d1">output_neighbors</a> (FILE *fp=stdout)</td></tr>
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__neighbor.html#aaa1c991b6f5af826bac0f4c7d5f6bf5c">mne</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__neighbor.html#a7c061d08eac012b23588032779603a19">ne</a></td></tr>
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4370063e32384c34b2f412a1b931b593"></a><!-- doxytag: member="voro::voronoicell_neighbor::voronoicell_base" ref="a4370063e32384c34b2f412a1b931b593" args="" -->
class&#160;</td><td class="memItemRight" valign="bottom"><b>voronoicell_base</b></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>This class is an extension of the <a class="el" href="classvoro_1_1voronoicell__base.html" title="A class representing a single Voronoi cell.">voronoicell_base</a> class, in cases when the IDs of neighboring particles associated with each face of the Voronoi cell. It contains additional data structures mne and ne for storing this information. </p>

<p>Definition at line <a class="el" href="cell_8hh_source.html#l00407">407</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a4fdf7a7b46bb5b8e6c9613308ad399c0"></a><!-- doxytag: member="voro::voronoicell_neighbor::voronoicell_neighbor" ref="a4fdf7a7b46bb5b8e6c9613308ad399c0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">voro::voronoicell_neighbor::voronoicell_neighbor </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The class constructor allocates memory for storing neighbor information. </p>

<p>Definition at line <a class="el" href="cell_8cc_source.html#l02178">2178</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a196e44ab9b3caf7d5862fa47ee3341fe"></a><!-- doxytag: member="voro::voronoicell_neighbor::~voronoicell_neighbor" ref="a196e44ab9b3caf7d5862fa47ee3341fe" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">voro::voronoicell_neighbor::~voronoicell_neighbor </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The class destructor frees the dynamically allocated memory for storing neighbor information. </p>

<p>Definition at line <a class="el" href="cell_8cc_source.html#l02189">2189</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="aa3d80872ecb0dbccbc951082428c13c1"></a><!-- doxytag: member="voro::voronoicell_neighbor::check_facets" ref="aa3d80872ecb0dbccbc951082428c13c1" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void voro::voronoicell_neighbor::check_facets </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This routine checks to make sure the neighbor information of each face is consistent. </p>

<p>Definition at line <a class="el" href="cell_8cc_source.html#l02157">2157</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>

</div>
</div>
<a class="anchor" id="ac20bf4f827fd1fc20c1596a8cec95fa3"></a><!-- doxytag: member="voro::voronoicell_neighbor::init" ref="ac20bf4f827fd1fc20c1596a8cec95fa3" args="(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void voro::voronoicell_neighbor::init </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>xmin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>xmax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>ymin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>ymax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>zmin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>zmax</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This initializes the class to be a rectangular box. It calls the base class initialization routine to set up the edge and vertex information, and then sets up the neighbor information, with initial faces being assigned ID numbers from -1 to -6. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">(xmin,xmax)</td><td>the minimum and maximum x coordinates. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">(ymin,ymax)</td><td>the minimum and maximum y coordinates. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">(zmin,zmax)</td><td>the minimum and maximum z coordinates. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="cell_8cc_source.html#l02103">2103</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a3648ccb2b3bdf7832779ea7d311d129c"></a><!-- doxytag: member="voro::voronoicell_neighbor::init_octahedron" ref="a3648ccb2b3bdf7832779ea7d311d129c" args="(double l)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void voro::voronoicell_neighbor::init_octahedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>l</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This initializes the class to be an octahedron. It calls the base class initialization routine to set up the edge and vertex information, and then sets up the neighbor information, with the initial faces being assigned ID numbers from -1 to -8. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">l</td><td>The distance from the octahedron center to a vertex. Six vertices are initialized at (-l,0,0), (l,0,0), (0,-l,0), (0,l,0), (0,0,-l), and (0,0,l). </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="cell_8cc_source.html#l02125">2125</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a71f908538fa59e4a1ab1d44834f1f3f9"></a><!-- doxytag: member="voro::voronoicell_neighbor::init_tetrahedron" ref="a71f908538fa59e4a1ab1d44834f1f3f9" args="(double x0, double y0, double z0, double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void voro::voronoicell_neighbor::init_tetrahedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>z0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>z1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>z2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x3</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y3</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>z3</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This initializes the class to be a tetrahedron. It calls the base class initialization routine to set up the edge and vertex information, and then sets up the neighbor information, with the initial faces being assigned ID numbers from -1 to -4. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">(x0,y0,z0)</td><td>a position vector for the first vertex. </td></tr>
    <tr><td class="paramname">(x1,y1,z1)</td><td>a position vector for the second vertex. </td></tr>
    <tr><td class="paramname">(x2,y2,z2)</td><td>a position vector for the third vertex. </td></tr>
    <tr><td class="paramname">(x3,y3,z3)</td><td>a position vector for the fourth vertex. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="cell_8cc_source.html#l02145">2145</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a1583bda821b719b59a49a5a31d708497"></a><!-- doxytag: member="voro::voronoicell_neighbor::neighbors" ref="a1583bda821b719b59a49a5a31d708497" args="(vector&lt; int &gt; &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void voro::voronoicell_neighbor::neighbors </td>
          <td>(</td>
          <td class="paramtype">vector&lt; int &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Computes a vector list of neighbors. </p>

<p>Reimplemented from <a class="el" href="classvoro_1_1voronoicell__base.html#a5d52bea0312e95ed77b82aeca10824b1">voro::voronoicell_base</a>.</p>

<p>Definition at line <a class="el" href="cell_8cc_source.html#l02196">2196</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a1f0d64e7c42503ada9204cfaeb61027f"></a><!-- doxytag: member="voro::voronoicell_neighbor::nplane" ref="a1f0d64e7c42503ada9204cfaeb61027f" args="(double x, double y, double z, double rsq, int p_id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool voro::voronoicell_neighbor::nplane </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>z</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>rsq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>p_id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Cuts the Voronoi cell by a particle whose center is at a separation of (x,y,z) from the cell center. The value of rsq should be initially set to <img class="formulaInl" alt="$x^2+y^2+z^2$" src="form_0.png"/>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">(x,y,z)</td><td>the normal vector to the plane. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rsq</td><td>the distance along this vector of the plane. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_id</td><td>the plane ID (for neighbor tracking only). </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>False if the plane cut deleted the cell entirely, true otherwise. </dd></dl>

<p>Definition at line <a class="el" href="cell_8hh_source.html#l00434">434</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>

</div>
</div>
<a class="anchor" id="a29264507d9f65efdb2bde573d48aa0c3"></a><!-- doxytag: member="voro::voronoicell_neighbor::nplane" ref="a29264507d9f65efdb2bde573d48aa0c3" args="(double x, double y, double z, int p_id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">template bool voro::voronoicell_base::nplane </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>z</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>p_id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This routine calculates the modulus squared of the vector before passing it to the main <a class="el" href="classvoro_1_1voronoicell__neighbor.html#a1f0d64e7c42503ada9204cfaeb61027f">nplane()</a> routine with full arguments. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">(x,y,z)</td><td>the vector to cut the cell by. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_id</td><td>the plane ID (for neighbor tracking only). </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>False if the plane cut deleted the cell entirely, true otherwise. </dd></dl>

<p>Definition at line <a class="el" href="cell_8hh_source.html#l00444">444</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>

</div>
</div>
<a class="anchor" id="ac6036ae44845e301da1e3656e0e98403"></a><!-- doxytag: member="voro::voronoicell_neighbor::operator=" ref="ac6036ae44845e301da1e3656e0e98403" args="(voronoicell &amp;c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void voro::voronoicell_neighbor::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classvoro_1_1voronoicell.html">voronoicell</a> &amp;&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Copies the information from another voronoicell class into this class, extending memory allocation if necessary. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>the class to copy. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="cell_8cc_source.html#l00080">80</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a0754fe4a44916b68bf3cda3d129b3a69"></a><!-- doxytag: member="voro::voronoicell_neighbor::operator=" ref="a0754fe4a44916b68bf3cda3d129b3a69" args="(voronoicell_neighbor &amp;c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void voro::voronoicell_neighbor::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classvoro_1_1voronoicell__neighbor.html">voronoicell_neighbor</a> &amp;&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Copies the information from another <a class="el" href="classvoro_1_1voronoicell__neighbor.html" title="Extension of the voronoicell_base class to represent a Voronoi cell with neighbor information...">voronoicell_neighbor</a> class into this class, extending memory allocation if necessary. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>the class to copy. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="cell_8cc_source.html#l00093">93</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a2b212f8abaf92200e8ee4b5eee0e60d1"></a><!-- doxytag: member="voro::voronoicell_neighbor::output_neighbors" ref="a2b212f8abaf92200e8ee4b5eee0e60d1" args="(FILE *fp=stdout)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void voro::voronoicell_neighbor::output_neighbors </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fp</em> = <code>stdout</code></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This is a virtual function that is overridden by a routine to print a list of IDs of neighboring particles corresponding to each face. By default, when no neighbor information is available, the routine does nothing. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>the file handle to write to. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented from <a class="el" href="classvoro_1_1voronoicell__base.html#a99837f8d963c57c2c244518ba0ae4b8f">voro::voronoicell_base</a>.</p>

<p>Definition at line <a class="el" href="cell_8hh_source.html#l00476">476</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>

</div>
</div>
<a class="anchor" id="ab71c4487bbca2d20b00e9af2fc6d1ed0"></a><!-- doxytag: member="voro::voronoicell_neighbor::plane" ref="ab71c4487bbca2d20b00e9af2fc6d1ed0" args="(double x, double y, double z, double rsq)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool voro::voronoicell_neighbor::plane </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>z</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>rsq</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This version of the plane routine just makes up the plane ID to be zero. It will only be referenced if neighbor tracking is enabled. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">(x,y,z)</td><td>the vector to cut the cell by. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rsq</td><td>the modulus squared of the vector. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>False if the plane cut deleted the cell entirely, true otherwise. </dd></dl>

<p>Definition at line <a class="el" href="cell_8hh_source.html#l00455">455</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>

</div>
</div>
<a class="anchor" id="a8bac2d46226b8dbb88ad3e3d58d10cf7"></a><!-- doxytag: member="voro::voronoicell_neighbor::plane" ref="a8bac2d46226b8dbb88ad3e3d58d10cf7" args="(double x, double y, double z)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool voro::voronoicell_neighbor::plane </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>z</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Cuts a Voronoi cell using the influence of a particle at (x,y,z), first calculating the modulus squared of this vector before passing it to the main <a class="el" href="classvoro_1_1voronoicell__neighbor.html#a1f0d64e7c42503ada9204cfaeb61027f">nplane()</a> routine. Zero is supplied as the plane ID, which will be ignored unless neighbor tracking is enabled. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">(x,y,z)</td><td>the vector to cut the cell by. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>False if the plane cut deleted the cell entirely, true otherwise. </dd></dl>

<p>Definition at line <a class="el" href="cell_8hh_source.html#l00466">466</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>

</div>
</div>
<a class="anchor" id="a868581daaec73455618629e668c92d38"></a><!-- doxytag: member="voro::voronoicell_neighbor::print_edges_neighbors" ref="a868581daaec73455618629e668c92d38" args="(int i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void voro::voronoicell_neighbor::print_edges_neighbors </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This prints out the neighbor information for vertex i. </p>

<p>Reimplemented from <a class="el" href="classvoro_1_1voronoicell__base.html#ac164b3767ce186360fb3308e349e058c">voro::voronoicell_base</a>.</p>

<p>Definition at line <a class="el" href="cell_8cc_source.html#l02235">2235</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>

</div>
</div>
<hr/><h2>Field Documentation</h2>
<a class="anchor" id="aaa1c991b6f5af826bac0f4c7d5f6bf5c"></a><!-- doxytag: member="voro::voronoicell_neighbor::mne" ref="aaa1c991b6f5af826bac0f4c7d5f6bf5c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int** <a class="el" href="classvoro_1_1voronoicell__neighbor.html#aaa1c991b6f5af826bac0f4c7d5f6bf5c">voro::voronoicell_neighbor::mne</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This two dimensional array holds the neighbor information associated with each vertex. mne[p] is a one dimensional array which holds all of the neighbor information for vertices of order p. </p>

<p>Definition at line <a class="el" href="cell_8hh_source.html#l00414">414</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>

</div>
</div>
<a class="anchor" id="a7c061d08eac012b23588032779603a19"></a><!-- doxytag: member="voro::voronoicell_neighbor::ne" ref="a7c061d08eac012b23588032779603a19" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int** <a class="el" href="classvoro_1_1voronoicell__neighbor.html#a7c061d08eac012b23588032779603a19">voro::voronoicell_neighbor::ne</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This is a two dimensional array that holds the neighbor information associated with each vertex. ne[i] points to a one-dimensional array in mne[nu[i]]. ne[i][j] holds the neighbor information associated with the jth edge of vertex i. It is set to the ID number of the plane that made the face that is clockwise from the jth edge. </p>

<p>Definition at line <a class="el" href="cell_8hh_source.html#l00421">421</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="cell_8hh_source.html">cell.hh</a></li>
<li><a class="el" href="cell_8cc_source.html">cell.cc</a></li>
</ul>
</div>


<hr class="footer"/><address class="footer"><small>
Generated on Fri Sep 23 2011 22:49:07 for Voro++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>

</body>
</html>
